﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using LoghogInterface.Models;

namespace LoghogInterface.ViewModels
{
    /// <summary>
    /// Модель представления групп пользователей
    /// </summary>
    class ViewModelUpdateDataUsersRights : ViewModelBase
    {
        private ModelUserRights _modelUserRight = new ModelUserRights();

        public int ID 
        {
            get
            {
                return _modelUserRight.ID;
            }
            set
            {
                _modelUserRight.ID = value;
                OnPropertyChanged("ID");
            }
        }

        public string Name 
        {
            get
            {
                return _modelUserRight.Name;
            }
            set
            {
                _modelUserRight.Name = value;
                OnPropertyChanged("Name");
            }
        }

        public bool Read 
        {
            get
            {
                return _modelUserRight.Read;
            }
            set
            {
                _modelUserRight.Read = value;
                OnPropertyChanged("Read");
            }
        }
        
        public bool Add 
        {
            get
            {
                return _modelUserRight.Add;
            }
            set
            {
                _modelUserRight.Add = value;
                OnPropertyChanged("Add");
            }
        }

        public bool Export 
        {
            get
            {
                return _modelUserRight.Export;
            }
            set
            {
                _modelUserRight.Export = value;
                OnPropertyChanged("Export");
            }
        }

        public bool Import 
        { 
            get
            {
                return _modelUserRight.Import;
            }
            set
            {
                _modelUserRight.Import = value;
                OnPropertyChanged("Import");
            }
        }

        public bool AddField 
        {
            get 
            {
                return _modelUserRight.AddField;
            }
            set
            {
                _modelUserRight.AddField = value;
                OnPropertyChanged("AddField");
            }
        }

        public bool RemoveField 
        {
            get
            {
                return _modelUserRight.RemoveField;
            }
            set
            {
                _modelUserRight.RemoveField = value;
                OnPropertyChanged("RemoveField");
            }
        }

        public bool AddUser 
        {
            get
            {
                return _modelUserRight.AddUser;
            }
            set
            {
                _modelUserRight.AddUser = value;
                OnPropertyChanged("AddUser");
            }
        }

        public bool RemoveUser 
        {
            get
            {
                return _modelUserRight.RemoveUser;
            }
            set
            {
                _modelUserRight.RemoveUser = value;
                OnPropertyChanged("RemoveUser");
            }
        }

        public bool CreateGroup 
        {
            get
            {
                return _modelUserRight.CreateGroup;
            }
            set
            {
                _modelUserRight.CreateGroup = value;
                OnPropertyChanged("CreateGroup");
            }
        }

        public bool RemoveGroup 
        {
            get
            {
                return _modelUserRight.RemoveGroup;
            }
            set
            {
                _modelUserRight.RemoveGroup = value;
                OnPropertyChanged("RemoveGroup ");
            }
        }
        
        public bool CreateJournal 
        {
            get
            {
                return _modelUserRight.CreateJournal;
            }
            set
            {
                _modelUserRight.CreateJournal = value;
                OnPropertyChanged("CreateJournal");
            }
        }

        public bool RemoveJournal 
        {
            get
            {
                return _modelUserRight.RemoveJournal;
            }
            set
            {
                _modelUserRight.RemoveJournal = value;
                OnPropertyChanged("RemoveJournal");
            }
        }
    }
}
